package com.sina.shop.service.goods;

import com.sina.shop.domain.goods.GoodsComment;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * Description: 调用服务，并配置断路器，当调用出错时调用默认的配置。
 * 段浩杰   2018-01-31-17:40
 */
@FeignClient(value = "SHOP-SPRING-CLOUD-ALL", fallback = GoodsCommentServiceBack.class)
public interface GoodsCommentService {

    @RequestMapping(value = "/goodsComment/updateGoodsComment", method = RequestMethod.POST)
    GoodsComment updateGoodsComment(@RequestBody(required = false) GoodsComment goodsComment);

    @RequestMapping(value = "/goodsComment/getGoodsComment", method = RequestMethod.GET)
    GoodsComment getGoodsComment(@RequestParam("id") Long id);

    @RequestMapping(value = "/goodsComment/getGoodsCommentList", method = RequestMethod.GET)
    Map<String, Object> getGoodsCommentList(@RequestBody(required = false) GoodsComment goodsComment);

    @RequestMapping(value = "/goodsComment/saveGoodsComment", method = RequestMethod.POST)
    GoodsComment saveGoodsComment(@RequestBody(required = false) GoodsComment goodsComment);

    @RequestMapping(value = "/goodsComment/deleteGoodsComment", method = RequestMethod.POST)
    Integer deleteGoodsComment(@RequestParam("id") Long id);

}
